home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CICA Windows Explosion!
/
The CICA Windows Explosion! - Disc 2.iso
/
winsock
/
ircii2-6.zip
/
SCRIPTS\HISTORY
< prev
next >
Wrap
Text File
|
1994-12-28
|
2KB
|
69 lines
# history - provide a little control over the last word of the last
# commands. !$ matches the last word in the last line typed
# insert it as many times as desired.
# version 1.0
# Now you can use !0 !1 !2 etc.. as well as !$ The numbers are
# restricted to the range 0 thru 9.
# Also !* expands to the whole line..
# version 2.0
# by Ian Frechette and Matthew Green
# version 2.1
# Fixed !* to not include the first word, and added !!
@ hs.on = 1
@ hs.lline - []
bind ^K meta3
#bind meta3-h parse @ hs.on = 1 - hs.on
bind meta3-h parse @ hs.on = 1 - hs.on;if (hs.on) { ^set -status_user1 } { ^set status_user1 - no history }
set input_protection off
on ^input * if (hs.on) { sendline $hs.eval($*) } { sendline $* }
alias allbutfirst @ function_return = [$1-]
alias hs.eval
{
@hs.line = [$*]
@hs.mark = index(! $hs.line)
@ hs.nline = []
if (@hs.line)
{
while (hs.mark > -1)
{
@hs.nline = hs.nline ## left($hs.mark $hs.line)
@hs.num = mid(${hs.mark+1} 1 $hs.line)
if (index(0123456789*!$$ $hs.num) > -1)
{
if (hs.num == [$$])
{
@hs.word = word(${#hs.lline-1} $hs.lline)
}
{
if (hs.num == [!])
{
@hs.word = hs.lline
}
{
if (hs.num == [*])
{
@hs.word = allbutfirst($hs.lline)
}
{
@hs.word = word($hs.num $hs.lline)
} } }
@hs.nline = hs.nline ## hs.word
@hs.line = mid(${hs.mark + 2} 999 $hs.line)
}
{
@hs.nline = hs.nline ## [!]
@hs.line = mid(${hs.mark + 1} 999 $hs.line)
}
@hs.mark = index(! $hs.line)
}
@ hs.nline = hs.nline ## hs.line
@ hs.lline = hs.nline
}
@ function_return = hs.nline
}